// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'


Shader  "Hidden/HeightDepthOfField" {

	Properties
	 {
 _MainTex ("Base", 2D) = "" {}
 _TapLowBackground ("TapLowBackground", 2D) = "" {}
 _TapLowForeground ("TapLowForeground", 2D) = "" {}
 _TapMedium ("TapMedium", 2D) = "" {}
}

	

	SubShader
     {
  ZTest Always
  ZWrite Off
  Cull Off
  Fog { Mode Off }

    LOD 100
	Pass
	{
	
	

	CGPROGRAM
	#pragma vertex vert
	#pragma fragment frag
	#include "UnityCG.cginc"
    #define Fixed4(value)  fixed4(value, value,value,value)

	struct VertexInput {
    fixed4 vertex : POSITION;
	fixed2 xlv_TEXCOORD0 : TEXCOORD0;
    //fixed2 xlv_TEXCOORD1 : TEXCOORD1;
    //fixed3 xlv_TEXCOORD2 : TEXCOORD2;
    //fixed3 xlv_TEXCOORD3 : TEXCOORD3;
    //fixed4 tangent : TANGENT;
    fixed3 normal : NORMAL;
    //fixed4 xlv_COLOR : COLOR;
	//VertexInput
	};


	struct VertexOutput {
	fixed4 pos : SV_POSITION;
    UNITY_FOG_COORDS(1)
    //fixed4 xlv_COLOR : COLOR;
	fixed2 xlv_TEXCOORD0 : TEXCOORD0;
    //fixed2 xlv_TEXCOORD1 : TEXCOORD1;
    //fixed3 xlv_TEXCOORD2 : TEXCOORD2;
    //fixed3 xlv_TEXCOORD3 : TEXCOORD3;
    //fixed3 xlv_TEXCOORD4 : TEXCOORD4;
	//VertexOutput
	};

 sampler2D _MainTex;
 sampler2D _TapLowBackground;
 ;




	VertexOutput vert (VertexInput v)
	{
	VertexOutput o;
	//o.pos = UnityObjectToClipPos (v.vertex);
	//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);
	
  float2 tmpvar_1;
  half2 tmpvar_2;
  tmpvar_2 = v.xlv_TEXCOORD0;
  tmpvar_1 = tmpvar_2;
  o.pos = UnityObjectToClipPos( v.vertex);
  o.xlv_TEXCOORD0 = tmpvar_1;


    UNITY_TRANSFER_FOG(o,o.vertex);
   
	return o;
	}


	fixed4 frag(VertexOutput i) : SV_Target
    {
    //fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);
	
  half4 tapLow_1;
  half4 tapHigh_2;
  fixed4 tmpvar_3;
  tmpvar_3 = tex2D (_MainTex, i.xlv_TEXCOORD0);
	UNITY_APPLY_FOG(i.fogCoord, tmpvar_3);
  tapHigh_2 = tmpvar_3;
  fixed4 tmpvar_4;
  tmpvar_4 = tex2D (_TapLowBackground, i.xlv_TEXCOORD0);
  tapLow_1 = tmpvar_4;
  return lerp (tapHigh_2, tapLow_1, Fixed4(clamp ((tapHigh_2.w * 2.0), 0.0, 1.0)));

	}
	ENDCG
	}
		Pass
	{



	CGPROGRAM
	#pragma vertex vert
	#pragma fragment frag
	#include "UnityCG.cginc"
	#define Fixed3(value)  fixed3(value, value,value)
	#define Fixed4(value)  fixed4(value, value,value,value)

	struct VertexInput {
	fixed4 vertex : POSITION;
	fixed2 xlv_TEXCOORD0 : TEXCOORD0;
	//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
	//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
	//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
	//fixed4 tangent : TANGENT;
	fixed3 normal : NORMAL;
	//fixed4 xlv_COLOR : COLOR;
	//VertexInput
	};


	struct VertexOutput {
	fixed4 pos : SV_POSITION;
	UNITY_FOG_COORDS(1)
		//fixed4 xlv_COLOR : COLOR;
		fixed2 xlv_TEXCOORD0 : TEXCOORD0;
	//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
	//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
	//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
	//fixed3 xlv_TEXCOORD4 : TEXCOORD4;
	//VertexOutput
	};


 sampler2D _MainTex;
 sampler2D _TapLowForeground;
 float _ForegroundBlurExtrude;
 ;




	VertexOutput vert(VertexInput v)
	{
	VertexOutput o;
	//o.pos = UnityObjectToClipPos (v.vertex);
	//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);

  float2 tmpvar_1;
  half2 tmpvar_2;
  tmpvar_2 = v.xlv_TEXCOORD0;
  tmpvar_1 = tmpvar_2;
  o.pos = UnityObjectToClipPos(v.vertex);
  o.xlv_TEXCOORD0 = tmpvar_1;

	UNITY_TRANSFER_FOG(o,o.vertex);

	return o;
	}


	fixed4 frag(VertexOutput i) : SV_Target
	{
		//fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);

	  half4 tapMedium_1;
	  half4 fgColor_2;
	  half4 fgBlur_3;
	  fixed4 tmpvar_4;
	  tmpvar_4 = tex2D(_TapLowForeground, i.xlv_TEXCOORD0);
	  fgBlur_3 = tmpvar_4;
	  fixed4 tmpvar_5;
	  tmpvar_5 = tex2D(_MainTex, i.xlv_TEXCOORD0);
	  fgColor_2 = tmpvar_5;
	  half tmpvar_6;
	  tmpvar_6 = max(fgColor_2.w, ((2.0 * fgBlur_3.w) - fgColor_2.w));
	  float tmpvar_7;
	  tmpvar_7 = (tmpvar_6 * _ForegroundBlurExtrude);
	  fgBlur_3.w = tmpvar_7;
	  half4 tmpvar_8;
	  tmpvar_8.xyz = fixed3(1.0, 1.0, 0.0);
	  tmpvar_8.w = fgBlur_3.w;
	  tapMedium_1.w = tmpvar_8.w;
	  tapMedium_1.xyz = (0.5 * (fixed3(1.0, 1.0, 0.0) + fgColor_2.xyz));
	  fgBlur_3.xyz = (0.5 * (fgBlur_3.xyz + fixed3(0.0, 1.0, 0.0)));
	  fgBlur_3.xyz = lerp(tapMedium_1.xyz, fgBlur_3.xyz, Fixed3(clamp((fgBlur_3.w * fgBlur_3.w), 0.0, 1.0)));
		UNITY_APPLY_FOG(i.fogCoord, tmpvar_5);
	  return lerp(fgColor_2, fgBlur_3, Fixed4(clamp(fgBlur_3.w, 0.0, 1.0)));

		}
		ENDCG
		}
			Pass
		{



		CGPROGRAM
		#pragma vertex vert
		#pragma fragment frag
		#include "UnityCG.cginc"
		//#define Fixed3(value)  fixed3(value, value,value)
		#define Fixed4(value)  fixed4(value, value,value,value)

		struct VertexInput {
		fixed4 vertex : POSITION;
		fixed2 xlv_TEXCOORD0 : TEXCOORD0;
		//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
		//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
		//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
		//fixed4 tangent : TANGENT;
		fixed3 normal : NORMAL;
		//fixed4 xlv_COLOR : COLOR;
		//VertexInput
		};


		struct VertexOutput {
		fixed4 pos : SV_POSITION;
		UNITY_FOG_COORDS(1)
			//fixed4 xlv_COLOR : COLOR;
			fixed2 xlv_TEXCOORD0 : TEXCOORD0;
		//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
		//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
		//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
		//fixed3 xlv_TEXCOORD4 : TEXCOORD4;
		//VertexOutput
		};


	 sampler2D _MainTex;
	 sampler2D _TapLowBackground;
	 sampler2D _TapMedium;
	 ;




		VertexOutput vert(VertexInput v)
		{
		VertexOutput o;
		//o.pos = UnityObjectToClipPos (v.vertex);
		//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);

	  float2 tmpvar_1;
	  half2 tmpvar_2;
	  tmpvar_2 = v.xlv_TEXCOORD0;
	  tmpvar_1 = tmpvar_2;
	  o.pos = UnityObjectToClipPos(v.vertex);
	  o.xlv_TEXCOORD0 = tmpvar_1;

		UNITY_TRANSFER_FOG(o,o.vertex);

		return o;
		}


		fixed4 frag(VertexOutput i) : SV_Target
		{
			//fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);

		  half4 tapMedium_1;
		  half4 tapLow_2;
		  half4 tapHigh_3;
		  fixed4 tmpvar_4;
		  tmpvar_4 = tex2D(_MainTex, i.xlv_TEXCOORD0);
		  tapHigh_3 = tmpvar_4;
		  fixed4 cse_5;
		  cse_5 = tex2D(_TapLowBackground, i.xlv_TEXCOORD0);
		  tapLow_2 = cse_5;
		  fixed4 tmpvar_6;
		  tmpvar_6 = tex2D(_TapMedium, i.xlv_TEXCOORD0);
		  tapMedium_1 = tmpvar_6;
		  tapMedium_1.xyz = ((tapMedium_1.xyz + fixed3(1.0, 1.0, 0.0)) * 0.5);
		  tapLow_2.xyz = ((tapLow_2.xyz + fixed3(0.0, 1.0, 0.0)) * 0.5);
		  half4 tmpvar_7;
		  tmpvar_7 = ((lerp(tapMedium_1, tapLow_2, Fixed4(
			clamp((tapLow_2.w * tapLow_2.w), 0.0, 1.0)
		  )) * 0.5) + (cse_5 * 0.5));
		  tapLow_2 = tmpvar_7;
			UNITY_APPLY_FOG(i.fogCoord, tmpvar_4);
		  return lerp(tapHigh_3, tmpvar_7, tapHigh_3.wwww);

			}
			ENDCG
		}
				Pass
			{



			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			#include "UnityCG.cginc"
			//#define Fixed3(value)  fixed3(value, value,value)
			//#define Fixed4(value)  fixed4(value, value,value,value)

			struct VertexInput {
			fixed4 vertex : POSITION;
			fixed2 xlv_TEXCOORD0 : TEXCOORD0;
			//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
			//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
			//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
			//fixed4 tangent : TANGENT;
			fixed3 normal : NORMAL;
			//fixed4 xlv_COLOR : COLOR;
			//VertexInput
			};


			struct VertexOutput {
			fixed4 pos : SV_POSITION;
			UNITY_FOG_COORDS(1)
				//fixed4 xlv_COLOR : COLOR;
				fixed2 xlv_TEXCOORD0 : TEXCOORD0;
				fixed2 xlv_TEXCOORD1 : TEXCOORD1;
				//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
				//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
				//fixed3 xlv_TEXCOORD4 : TEXCOORD4;
				//VertexOutput
				};



			 half4x4 _FrustumCornersWS;


			 //float4 _ZBufferParams;
			 sampler2D _CameraDepthTexture;
			 half4 _ObjectFocusParameter;
			 half4 _CameraWS;
			 ;





				VertexOutput vert(VertexInput v)
				{
				VertexOutput o;
				//o.pos = UnityObjectToClipPos (v.vertex);
				//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);

			  float4 tmpvar_1;
			  tmpvar_1 = v.vertex;
			  half2 tmpvar_2;
			  tmpvar_2 = v.xlv_TEXCOORD0;
			  float4 tmpvar_3;
			  tmpvar_3.xyw = tmpvar_1.xyw;
			  half3 tmpVertex_4;
			  float2 tmpvar_5;
			  float3 tmpvar_6;
			  tmpvar_6 = tmpvar_1.xyz;
			  tmpVertex_4 = tmpvar_6;
			  tmpvar_3.z = 0.1;
			  tmpvar_5 = tmpvar_2;
			  int i_7;
			  i_7 = int(tmpVertex_4.z);
			  half4 v_8;
			  v_8.x = _FrustumCornersWS[0][i_7];
			  v_8.y = _FrustumCornersWS[1][i_7];
			  v_8.z = _FrustumCornersWS[2][i_7];
			  v_8.w = _FrustumCornersWS[3][i_7];
			  float3 tmpvar_9;
			  tmpvar_9 = v_8.xyz;
			  o.pos = UnityObjectToClipPos(tmpvar_3);
			  o.xlv_TEXCOORD0 = tmpvar_5;
			  o.xlv_TEXCOORD1 = tmpvar_9;


				UNITY_TRANSFER_FOG(o,o.vertex);

				return o;
				}


				fixed4 frag(VertexOutput i) : SV_Target
				{
					//fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);

				  float dpth_1;
				  fixed tmpvar_2;
				  tmpvar_2 = tex2D(_CameraDepthTexture, i.xlv_TEXCOORD0).x;
				  dpth_1 = tmpvar_2;
				  float tmpvar_3;
				  tmpvar_3 = (1.0 / (((_ZBufferParams.x * dpth_1) + _ZBufferParams.y)));
				  dpth_1 = tmpvar_3;
				  half tmpvar_4;
				  float tmpvar_5;
				  tmpvar_5 = clamp((_ObjectFocusParameter.y * (
					(-((_CameraWS.xyz + (tmpvar_3 * i.xlv_TEXCOORD1)).y) + _ObjectFocusParameter.x)
				   - _ObjectFocusParameter.w)), 0.0, 1.0);
					UNITY_APPLY_FOG(i.fogCoord, tmpvar_2);
				  tmpvar_4 = tmpvar_5;
				  return fixed4(tmpvar_4,tmpvar_4,tmpvar_4,tmpvar_4);

					}
					ENDCG
			}
			Pass
			{



			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			#include "UnityCG.cginc"
			//#define Fixed3(value)  fixed3(value, value,value)
			#define Fixed4(value)  fixed4(value, value,value,value)

			struct VertexInput {
			fixed4 vertex : POSITION;
			fixed2 xlv_TEXCOORD0 : TEXCOORD0;
			//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
			//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
			//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
			//fixed4 tangent : TANGENT;
			fixed3 normal : NORMAL;
			//fixed4 xlv_COLOR : COLOR;
			//VertexInput
			};


			struct VertexOutput {
			fixed4 pos : SV_POSITION;
			UNITY_FOG_COORDS(1)
				//fixed4 xlv_COLOR : COLOR;
				fixed2 xlv_TEXCOORD0 : TEXCOORD0;
			//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
			//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
			//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
			//fixed3 xlv_TEXCOORD4 : TEXCOORD4;
			//VertexOutput
			};

		 sampler2D _MainTex;
		 sampler2D _TapLowForeground;
		 float _ForegroundBlurExtrude;

			VertexOutput vert(VertexInput v)
			{
			VertexOutput o;
			//o.pos = UnityObjectToClipPos (v.vertex);
			//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);

		  float2 tmpvar_1;
		  half2 tmpvar_2;
		  tmpvar_2 = v.xlv_TEXCOORD0;
		  tmpvar_1 = tmpvar_2;
		  o.pos = UnityObjectToClipPos(v.vertex);
		  o.xlv_TEXCOORD0 = tmpvar_1;

			UNITY_TRANSFER_FOG(o,o.vertex);

			return o;
			}


			fixed4 frag(VertexOutput i) : SV_Target
			{
				//fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);

			  half4 fgColor_1;
			  half4 fgBlur_2;
			  fixed4 tmpvar_3;
			  tmpvar_3 = tex2D(_TapLowForeground, i.xlv_TEXCOORD0);
				UNITY_APPLY_FOG(i.fogCoord, tmpvar_3);
			  fgBlur_2 = tmpvar_3;
			  fixed4 tmpvar_4;
			  tmpvar_4 = tex2D(_MainTex, i.xlv_TEXCOORD0);
			  fgColor_1 = tmpvar_4;
			  half tmpvar_5;
			  tmpvar_5 = max(fgColor_1.w, ((2.0 * fgBlur_2.w) - fgColor_1.w));
			  float tmpvar_6;
			  tmpvar_6 = (tmpvar_5 * _ForegroundBlurExtrude);
			  fgBlur_2.w = tmpvar_6;
			  return lerp(fgColor_1, fgBlur_2, Fixed4(clamp(fgBlur_2.w, 0.0, 1.0)));

				}
				ENDCG
			}
				Pass
				{



				CGPROGRAM
				#pragma vertex vert
				#pragma fragment frag
				#include "UnityCG.cginc"
				//#define Fixed3(value)  fixed3(value, value,value)
				//#define Fixed4(value)  fixed4(value, value,value,value)

				struct VertexInput {
				fixed4 vertex : POSITION;
				fixed2 xlv_TEXCOORD0 : TEXCOORD0;
				//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
				//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
				//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
				//fixed4 tangent : TANGENT;
				fixed3 normal : NORMAL;
				//fixed4 xlv_COLOR : COLOR;
				//VertexInput
				};


				struct VertexOutput {
				fixed4 pos : SV_POSITION;
				UNITY_FOG_COORDS(1)
					//fixed4 xlv_COLOR : COLOR;
					fixed2 xlv_TEXCOORD0 : TEXCOORD0;
					fixed3 xlv_TEXCOORD1 : TEXCOORD1;
					//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
					//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
					//fixed3 xlv_TEXCOORD4 : TEXCOORD4;
					//VertexOutput
					};


				 half4x4 _FrustumCornersWS;

				 sampler2D _MainTex;
				 sampler2D _CameraDepthTexture;
				 half4 _ObjectFocusParameter;
				 half4 _CameraWS;



					VertexOutput vert(VertexInput v)
					{
					VertexOutput o;
					//o.pos = UnityObjectToClipPos (v.vertex);
					//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);

				  float4 tmpvar_1;
				  tmpvar_1 = v.vertex;
				  half2 tmpvar_2;
				  tmpvar_2 = v.xlv_TEXCOORD0;
				  float4 tmpvar_3;
				  tmpvar_3.xyw = tmpvar_1.xyw;
				  half3 tmpVertex_4;
				  float2 tmpvar_5;
				  float3 tmpvar_6;
				  tmpvar_6 = tmpvar_1.xyz;
				  tmpVertex_4 = tmpvar_6;
				  tmpvar_3.z = 0.1;
				  tmpvar_5 = tmpvar_2;
				  int i_7;
				  i_7 = int(tmpVertex_4.z);
				  half4 v_8;
				  v_8.x = _FrustumCornersWS[0][i_7];
				  v_8.y = _FrustumCornersWS[1][i_7];
				  v_8.z = _FrustumCornersWS[2][i_7];
				  v_8.w = _FrustumCornersWS[3][i_7];
				  float3 tmpvar_9;
				  tmpvar_9 = v_8.xyz;
				  o.pos = UnityObjectToClipPos(tmpvar_3);
				  o.xlv_TEXCOORD0 = tmpvar_5;
				  o.xlv_TEXCOORD1 = tmpvar_9;

					UNITY_TRANSFER_FOG(o,o.vertex);

					return o;
					}


					fixed4 frag(VertexOutput i) : SV_Target
					{
						//fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);

					  float dpth_1;
					  half4 color_2;
					  fixed4 tmpvar_3;
					  tmpvar_3 = tex2D(_MainTex, i.xlv_TEXCOORD0);
						UNITY_APPLY_FOG(i.fogCoord, tmpvar_3);
					  color_2.xyz = tmpvar_3.xyz;
					  fixed tmpvar_4;
					  tmpvar_4 = tex2D(_CameraDepthTexture, i.xlv_TEXCOORD0).x;
					  dpth_1 = tmpvar_4;
					  float tmpvar_5;
					  tmpvar_5 = (1.0 / (((_ZBufferParams.x * dpth_1) + _ZBufferParams.y)));
					  dpth_1 = tmpvar_5;
					  half tmpvar_6;
					  float tmpvar_7;
					  tmpvar_7 = clamp((_ObjectFocusParameter.y * (
						(-(_ObjectFocusParameter.x) - _ObjectFocusParameter.w)
					   +
						(_CameraWS.xyz + (tmpvar_5 * i.xlv_TEXCOORD1))
					  .y)), 0.0, 1.0);
					  tmpvar_6 = tmpvar_7;
					  color_2.w = tmpvar_6;
					  return color_2;

						}
						ENDCG
				}
				Pass
				{



				CGPROGRAM
				#pragma vertex vert
				#pragma fragment frag
				#include "UnityCG.cginc"
				//#define Fixed3(value)  fixed3(value, value,value)
				//#define Fixed4(value)  fixed4(value, value,value,value)

				struct VertexInput {
				fixed4 vertex : POSITION;
				fixed2 xlv_TEXCOORD0 : TEXCOORD0;
				//fixed2 xlv_TEXCOORD1 : TEXCOORD1;
				//fixed3 xlv_TEXCOORD2 : TEXCOORD2;
				//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
				//fixed4 tangent : TANGENT;
				fixed3 normal : NORMAL;
				//fixed4 xlv_COLOR : COLOR;
				//VertexInput
				};


				struct VertexOutput {
				fixed4 pos : SV_POSITION;
				UNITY_FOG_COORDS(1)
					//fixed4 xlv_COLOR : COLOR;
					fixed2 xlv_TEXCOORD0 : TEXCOORD0;
					fixed2 xlv_TEXCOORD1 : TEXCOORD1;
					fixed2 xlv_TEXCOORD1_1 : TEXCOORD2;
					//fixed3 xlv_TEXCOORD3 : TEXCOORD3;
					//fixed3 xlv_TEXCOORD4 : TEXCOORD4;
					//VertexOutput
					};

				 sampler2D _MainTex;
				 float2 _InvRenderTargetSize;


					VertexOutput vert(VertexInput v)
					{
					VertexOutput o;
					//o.pos = UnityObjectToClipPos (v.vertex);
					//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);

				  float2 tmpvar_1;
				  half2 tmpvar_2;
				  tmpvar_2 = v.xlv_TEXCOORD0;
				  tmpvar_1 = tmpvar_2;
				  o.pos = UnityObjectToClipPos(v.vertex);
				  o.xlv_TEXCOORD0 = tmpvar_1;
				  o.xlv_TEXCOORD1 = (v.xlv_TEXCOORD0 - _InvRenderTargetSize);
				  o.xlv_TEXCOORD1_1 = (v.xlv_TEXCOORD0 + (fixed2(1.0, -1.0) * _InvRenderTargetSize));

					UNITY_TRANSFER_FOG(o,o.vertex);

					return o;
					}


					fixed4 frag(VertexOutput i) : SV_Target
					{
						//fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);

					  half4 color_1;
					  float2 rowOfs_2_2;
					  float2 tmpvar_3;
					  tmpvar_3.x = 0.0;
					  tmpvar_3.y = _InvRenderTargetSize.y;
					  rowOfs_2_2 = (tmpvar_3 * 2.0);
					  fixed4 tmpvar_4;
					  tmpvar_4 = tex2D(_MainTex, i.xlv_TEXCOORD0);
					  color_1 = tmpvar_4;
					  fixed4 tmpvar_5;
					  tmpvar_5 = tex2D(_MainTex, i.xlv_TEXCOORD1);
					  fixed4 tmpvar_6;
					  tmpvar_6 = tex2D(_MainTex, i.xlv_TEXCOORD1_1);
					  fixed4 tmpvar_7;
					  float2 P_8;
					  P_8 = (i.xlv_TEXCOORD1 + rowOfs_2_2);
					  tmpvar_7 = tex2D(_MainTex, P_8);
					  fixed4 tmpvar_9;
					  float2 P_10;
					  P_10 = (i.xlv_TEXCOORD1_1 + rowOfs_2_2);
					  tmpvar_9 = tex2D(_MainTex, P_10);
						UNITY_APPLY_FOG(i.fogCoord, tmpvar_9);
					  half4 tmpvar_11;
					  tmpvar_11 = (((
						((color_1 + tmpvar_5) + tmpvar_6)
					   + tmpvar_7) + tmpvar_9) / 5.0);
					  color_1 = tmpvar_11;
					  return tmpvar_11;

						}
						ENDCG
				}
  }
  Fallback Off
}

